Контролери в Spring Boot (@RestController, @RequestMapping)

У Spring Boot контролери використовуються для обробки HTTP-запитів та формування відповідей. Вони є основою для створення REST API.

1. Анотація @RestController

Анотація @RestController поєднує в собі @Controller та @ResponseBody, що означає, що всі методи автоматично повертають JSON або XML.

                
                @RestController
                public class HelloController {
                    @GetMapping("/hello")
                    public String sayHello() {
                        return "Hello, Spring Boot!";
                    }
                }
                
            

2. Анотація @RequestMapping

Анотація @RequestMapping використовується для визначення шляху для контролера або окремих методів.

                
                @RestController
                @RequestMapping("/api")
                public class ApiController {
                    @GetMapping("/status")
                    public String getStatus() {
                        return "Service is running";
                    }
                }
                
            

3. Використання @GetMapping, @PostMapping

Spring Boot підтримує спеціальні анотації для обробки HTTP-запитів:

4. Приклад контролера з усіма видами запитів

                
                @RestController
                @RequestMapping("/users")
                public class UserController {
                    
                    @GetMapping
                    public String getUsers() {
                        return "List of users";
                    }
                    
                    @PostMapping
                    public String createUser() {
                        return "User created";
                    }
                    
                    @PutMapping("/{id}")
                    public String updateUser(@PathVariable Long id) {
                        return "User " + id + " updated";
                    }
                    
                    @DeleteMapping("/{id}")
                    public String deleteUser(@PathVariable Long id) {
                        return "User " + id + " deleted";
                    }
                }
                
            

Назад Далі